// 756. 简单[进制]二进制转十进制  https://oj.rnd.huawei.com/problems/756/details
//题目描述
//输入一个二进制字符串，请处理转换成十进制整数。
//输入二进制字符串（仅含 0 和 1 ），用例保证转换结果范围在 32
//位有符号整型范围以内。 输出十进制整数 输入 00011 输出 3 输入
// 11111111111111111111111111111111 输出 -1
//注：二进制字符串表示的是整数的补码形式，从右向左第32位1表示此数为负数。
#include <algorithm>
#include <bitset>
#include <iostream>
#include <string>
#include <utility>
#include <vector>
using namespace std;
class Solution {
 public:
  // 待实现函数，在此函数中填入答题代码;
  int BinaryToDecimal(const string &binaryString) const {
    bitset<32> bs(binaryString);
    return bs.to_ulong();
  }
};
inline string ReadLine() {
  string line;
  getline(cin, line);
  return line;
}
int main() {
  string binaryString = ReadLine();
  Solution solu;
  int result = solu.BinaryToDecimal(binaryString);
  cout << result << endl;
  return 0;
}